apache2.2 到 2.4后配置文件需要更改的部分

回复 收藏
参考: http://www.dotblogs.com.tw/maple ... e24_httpd_conf.aspx

1.  访问控制
2.2 的时候
Order deny,allow
Deny from all
在 2.4 需要改成
Require all denied

常用的配置有:
Require all denied   
Require all granted   
Require host xxx.com   
Require ip 192.168.1 192.168.2   
Require local

2. RewriteLogLevel  变为:logLevel
如,LogLevel warn rewrite: warn

3. Namevirtualhost 被移除

4. 网站压缩,除了使用mod_deflate,还要mod_filter
使用ssl,除了使用mod_ssl,还需要mod_socache_shmcb




2015-01-09 16:52 举报
已邀请:
0

lyhabc

赞同来自:

不错
0

李宁

赞同来自:

压缩配置麻烦了
0

彭勇士

赞同来自:

那虚拟vhosts的那些Order那些是不是也都变了?
0

奋斗的种子

赞同来自:

感觉怎么变麻烦了
0

kevin_tao

赞同来自:

那如果2.4的配置还是写成Deny from all这些是不是意味着不生效了?
0

soul

赞同来自:

换了新版本感觉 2.2的编译参数不能用了
0

Coohx - 小运维

赞同来自:

本帖最后由 Coohx 于 2016-6-24 21:43 编辑

这篇文章主要介绍了Apache2.4和Apache2.2访问控制配置语法对比,本文给出若干配置实现讲解Apache2.4和Apache2.2访问控制配置语法的不同之处,需要的朋友可以参考下


本文翻译自官方文档:《Upgrading to 2.4 from 2.2》
一、访问控制
在Apache2.2版本中,访问控制是基于客户端的主机名、IP地址以及客户端请求中的其他特征,使用Order(排序), Allow(允许), Deny(拒绝),Satisfy(满足)指令来实现。
在Apache2.4版本中,使用mod_authz_host这个新的模块,来实现访问控制,其他授权检查也以同样的方式来完成。旧的访问控制语句应当被新的授权认证机制所取代,即便Apache已经提供了mod_access_compat这一新模块来兼容旧语句。
这里有一些实例,用新方法取代旧语句实现相同的访问控制
实例1:所有请求都被拒绝
Apache2.2 配置:
复制代码 代码如下:

Order deny,allow #排序,先拒绝后允许
Deny  from all #拒绝所有

Apache2.4 配置:
复制代码 代码如下:

Require all denied #拒绝所有

实例2:所有请求都被允许
Apache2.2 配置:
复制代码 代码如下:

Order allow,deny #排序,先允许后拒绝
Allow from all #允许所有
Apache2.4 配置:
复制代码 代码如下:

Require all granted #允许所有

实例3:example.org所有请求都被允许,其他拒绝
Apache2.2 配置:
复制代码 代码如下:

Order Deny,Allow #排序,先拒绝后允许
Deny from all #拒绝所有
Allow from example.org #允许example.org

Apache2.4 配置:
复制代码 代码如下:

Require host example.org #允许example.org

二、Apache Require 指令
了解更多require指令用法:《Apache Module mod_authz_core》
附:常见访问控制指令
复制代码 代码如下:

Require all granted #允许所有
Require all denied #拒绝所有
Require env env-var [env-var] ... #允许,匹配环境变量中任意一个
Require method http-method [http-method] ... #允许,特定的HTTP方法
Require expr expression #允许,表达式为true
Require user userid [ userid ] ... #允许,特定用户
Require group group-name [group-name] ... #允许,特定用户组
Require valid-user # #允许,有效用户
Require ip 10 172.20 192.168.2 #允许 特定IP



0

善思致用

赞同来自:

我装的2.4虚拟主机配置文件的语法都不一样了
0

善思致用

赞同来自:

Coohx 发表于 2016-4-16 21:31
这篇文章主要介绍了Apache2.4和Apache2.2访问控制配置语法对比,本文给出若干配置实现讲解Apache2.4和Apache ...

这篇我看过了,里面有错误你也不改一下就直接复制了
0

善思致用

赞同来自:

kevin_tao 发表于 2015-12-28 21:43
那如果2.4的配置还是写成Deny from all这些是不是意味着不生效了?

是的,需要写成Require all denied才行,不过你可以增加mod_access_compat这个模块来兼容旧语句
0

Coohx - 小运维

赞同来自:

善思致用 发表于 2016-6-22 15:24
这篇我看过了,里面有错误你也不改一下就直接复制了

抱歉,当时学习这块只用了几句,没验证其他的,我刚改了下,哪里有错,还请指正,互相学习。
0

llill

赞同来自:

学习,非常感谢!

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: